Current computer systems provide individuals with an opportunity to produce documents of professional quality, such as with desktop publishing software and graphics software programs. The ability to manipulate the appearance of the text within these programs is vital in allowing users greater flexibility in creativity in document production. Included in these manipulations are changes in fonts, justification, size, and other aspects of the appearance, such as bolding and italicizing. The process of modifying a character is generally referred to as the operation of text face. For instance, to make the character "A" bold, a system may draw the character "A" twice to make it look bold. To make "A" italicized, the outline of the letter "A" may be drawn, stored, reshaped to look italicized, and displayed.
For ease of understanding the subject matter, some definitions are herein presented. What is meant by the term "text" is words of something written or printed. What is meant by Characters are abstract objects having a single and unique semantic or phonetic meaning. Glyphs, as opposed to characters, represent the visual, graphical appearance of a character. The particular representation of a character by a glyph is done in the context of the font, the font being a collection of glyphs which typically have an element of design consistency in their appearance.
Text face data can be represented as a data structure, a stream of bytes that can be interpreted either in binary or text, or executable code. A text face, as used in this specification, is a specific variation in the appearance of a glyph that can be applied consistently to all the glyphs in a font family, which is produced in an algorithmic way. A detailed explanation of text face data structures can be found in Inside Macintosh: QuickDraw GX, Typography, by Apple Computer, Inc., Addison-Wesley Publishing Company, 1994. Examples of streams of bytes that can be interpreted either in binary or text are picture op-codes and POST SCRIPT.RTM. by Adobe, Inc., respectively.
A problem with the conventional graphics display method and system is that each time a particular text face is desired for a particular character, the graphics system must compute the modification of the character, regardless of whether that particular text face has been requested before. Generating a text face is typically computationally intensive since the required algorithms are processed for every text face of every character for each instance a text face is utilized. Consequently, the graphics display system can be inefficient.
Accordingly, a need exists for a flexible and portable system that allows a single generation of a particular text face for repeated use.